[Script] - Comando ln -s não esta funcionando [RESOLVIDO]

1. [Script] - Comando ln -s não esta funcionando [RESOLVIDO]

Zagaia
zagaia

(usa Ubuntu)

Enviado em 10/11/2011 - 11:46h

Bom dia,

Quando abro um terminal e digito ln -s /dev/ACM0 /dev/ttyUSB0 o link funciona corretamente.

Porém, quando coloco este comando dentro de qualquer Script o link não funciona:

#!/bin/sh
ln -s /dev/ACM0 /dev/ttyUSB0
exit

Alguém sabe me dizer porque?

Obrigado!


  


2. Re: [Script] - Comando ln -s não esta funcionando [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 10/11/2011 - 11:50h

executa assim o script

#sh -x script

e ve o erro que ocorre


3. Re: [Script] - Comando ln -s não esta funcionando [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 10/11/2011 - 11:51h

Provavelmente porque o link simbolico ja esta criado. Tente ln -sf para forcar a fazer um novo link.


4. Re: [Script] - Comando ln -s não esta funcionando [RESOLVIDO]

Zagaia
zagaia

(usa Ubuntu)

Enviado em 10/11/2011 - 13:33h

danniel-lara escreveu:

executa assim o script

#sh -x script

e ve o erro que ocorre


Obrigado! Dessa forma verifiquei que o link já esta criado (conforme comentado no post abaixo).

Então o problema não é no LINK... só não sei pq a minha aplicação não funcionou. Sendo que se executo o comando na mão (sem Script) ela funciona...





5. Re: [Script] - Comando ln -s não esta funcionando [RESOLVIDO]

Daniel Lara Souza
danniel-lara

(usa Fedora)

Enviado em 10/11/2011 - 13:35h

Pelo vi assim
você pode melhorar o script no case de verificar se já tem esse link
se não tiver ele crie



6. Re: [Script] - Comando ln -s não esta funcionando [RESOLVIDO]

Zagaia
zagaia

(usa Ubuntu)

Enviado em 10/11/2011 - 17:30h

Bom galera.

Acabei descobrindo qual era o problema. Mesmo o meu Script (bsh) estando com máxima permissão (leitura, escrita e gravação) o meu "usuário comum" não conseguia criar o link simbólico pelo Script.

Quando eu fazia na mão, tudo funcionava. Porque? Evidentemente estava logado como usuário root.

Então, como fazer para meu usuário comum conseguir criar um link simbólico por meio do Script?

Solução:

1º Editar o arquivo /etc/sudoers como root.
2º Acrescenta no arquivo a linha: zagaia ALL=NOPASSWD: /bin/ln

Exemplo de como ficou o arquivo:

===============================================================
# /etc/sudoers
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#
Defaults env_reset
# Host alias specification
# User alias specification
# Cmnd alias specification
# User privilege specification

root ALL=(ALL) ALL

zagaia ALL=NOPASSWD: /bin/ln

# Uncomment to allow members of group sudo to not need a password # (Note that later entries override this, so you might need to move # it further down) # %sudo ALL=NOPASSWD: ALL

===============================================================

3º Adicionar o Script no bsh da seguinte forma: sudo ln –s /dev/ttyACM0 /dev/ttyUSB

Obrigado a todos!







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts